import { S } from '../../s';
import { IPSAppDELogicParam } from '../../app/dataentity/ipsapp-delogic-param';
import { IPSAppDataEntity } from '../../app/dataentity/ipsapp-data-entity';
import { IPSDELogicParam } from './ipsdelogic-param';
import { PSModelObjectImpl } from '../../psmodel-object-impl';

export class PSDELogicParamImpl
  extends PSModelObjectImpl
  implements IPSDELogicParam, IPSAppDELogicParam
{
  get codeName(): string {
    return this.M.codeName;
  }

  get defaultValue(): string {
    return this.M.defaultValue;
  }

  get defaultValueType(): string {
    return this.M.defaultValueType;
  }

  get fileType(): 'TEMP' | 'URL' | 'STORAGESERVICE' {
    return this.M.fileType;
  }

  get fileUrl(): string {
    return this.M.fileUrl;
  }

  get logicName(): string {
    return this.M.logicName;
  }

  protected parampsappdataentity: IPSAppDataEntity;
  getParamPSAppDataEntity(): IPSAppDataEntity | null {
    return (
      this.parampsappdataentity ||
      (this.parampsappdataentity = this.fillObjectModel(
        S._f,
        this.M.getParamPSAppDataEntity,
        S._377,
      ) as IPSAppDataEntity)
    );
  }

  get paramTag(): string {
    return this.M.paramTag;
  }

  get paramTag2(): string {
    return this.M.paramTag2;
  }

  get stdDataType():
    | 0
    | 1
    | 2
    | 3
    | 4
    | 5
    | 6
    | 7
    | 8
    | 9
    | 10
    | 11
    | 12
    | 13
    | 14
    | 15
    | 16
    | 17
    | 18
    | 19
    | 20
    | 21
    | 22
    | 23
    | 24
    | 25
    | 26
    | 27
    | 28
    | 29 {
    return this.M.stdDataType != null ? this.M.stdDataType : 0;
  }

  get appContextParam(): boolean {
    return this.M.appContextParam != null ? this.M.appContextParam : false;
  }

  get appGlobalParam(): boolean {
    return this.M.appGlobalParam != null ? this.M.appGlobalParam : false;
  }

  get cloneParam(): boolean {
    return this.M.cloneParam != null ? this.M.cloneParam : false;
  }

  get default(): boolean {
    return this.M.default != null ? this.M.default : false;
  }

  get entityListParam(): boolean {
    return this.M.entityListParam != null ? this.M.entityListParam : false;
  }

  get entityMapParam(): boolean {
    return this.M.entityMapParam != null ? this.M.entityMapParam : false;
  }

  get entityPageParam(): boolean {
    return this.M.entityPageParam != null ? this.M.entityPageParam : false;
  }

  get entityParam(): boolean {
    return this.M.entityParam != null ? this.M.entityParam : false;
  }

  get envParam(): boolean {
    return this.M.envParam != null ? this.M.envParam : false;
  }

  get fileListParam(): boolean {
    return this.M.fileListParam != null ? this.M.fileListParam : false;
  }

  get fileParam(): boolean {
    return this.M.fileParam != null ? this.M.fileParam : false;
  }

  get filterParam(): boolean {
    return this.M.filterParam != null ? this.M.filterParam : false;
  }

  get lastParam(): boolean {
    return this.M.lastParam != null ? this.M.lastParam : false;
  }

  get lastReturnParam(): boolean {
    return this.M.lastReturnParam != null ? this.M.lastReturnParam : false;
  }

  get originEntity(): boolean {
    return this.M.originEntity != null ? this.M.originEntity : false;
  }

  get sessionParam(): boolean {
    return this.M.sessionParam != null ? this.M.sessionParam : false;
  }

  get simpleListParam(): boolean {
    return this.M.simpleListParam != null ? this.M.simpleListParam : false;
  }

  get simpleParam(): boolean {
    return this.M.simpleParam != null ? this.M.simpleParam : false;
  }
  get cls(): string {
    return 'PSDELogicParamImpl';
  }
  instanceof(cls: string): boolean {
    if (cls == S._1e0 || cls == S._1e1) return true;
    return super.instanceof(cls);
  }
}
